package com.huashi.dealer.modular.business.user.param;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * Store端用户充值申请参数
 * 对应PHP项目的rechargeapply功能，只保存申请记录到user_recharge_review表
 *
 * @author 谭陈强
 * @since 2025-08-18
 */
@Data
@Schema(description = "Store端用户充值申请参数")
public class StoreUserRechargeApplyParam {

    /**
     * 用户ID
     */
    @Schema(description = "用户ID")
    private Long userId;

    /**
     * 充值类型：0基本账户，1返利账户，2核销账户
     */
    @Schema(description = "充值类型：0基本账户，1返利账户，2核销账户")
    private Integer source;

    /**
     * 基本账户充值信息
     */
    @Schema(description = "基本账户充值信息")
    private RechargeInfo balance;

    /**
     * 返利账户充值信息
     */
    @Schema(description = "返利账户充值信息")
    private RechargeInfo rebate;

    /**
     * 核销账户充值信息
     */
    @Schema(description = "核销账户充值信息")
    private RechargeInfo writeoff;

    /**
     * 充值信息
     */
    @Data
    @Schema(description = "充值信息")
    public static class RechargeInfo {
        /**
         * 充值方式：inc增加，dec减少
         */
        @Schema(description = "充值方式：inc增加，dec减少")
        private String mode;

        /**
         * 变更金额
         */
        @Schema(description = "变更金额")
        private String money;

        /**
         * 管理员备注
         */
        @Schema(description = "管理员备注")
        private String remark;
    }
}
